package ultimaVersion;
import java.util.ArrayList;



public interface ControlDeMemoria {

		
		/**
		 * devuelve la celda actual de la memoria
		 */
		public abstract int getCelda();

			
		/**
		 * guarda un buffer en la memoria
		 */
		public abstract boolean addBuffer(ArrayList<Boolean> arrayList);


			
		/**
		 * borra dato en la celda actual
		 */
		public abstract boolean inicializaActual();


				
		/**
		 * reinicia la memoria
		 */
		public abstract void inicializa();


			
		/**
		 * devuelve la cantidad de memoria en uso
		 */
		public abstract int celdasUsadas();

		/**
		 * Ubica la celda de memoria en uso
		 */
		public abstract boolean setCelda(int celda);

		/**
		 * Actualiza la celda de memoria en uso
		 */
		public abstract boolean setContenidoDeLaCelda(ArrayList<Boolean> dato);

		/**Obtiene el contenido de la celda actual
		 * */
		public abstract ArrayList<Boolean> getContenidoDeLaCelda();
		
		/** 
		 * Control del acceso a la memoria: 0 apagado, 1 lectura, -1 escritura
		 * */
		public void setLectoEscritura(int lectoEscritura);
		
		/**setea lectoescritura
		 * */
		public abstract void cierraAcceso();
						

}
